# PFlix Prompter Public

A separate Windows edition for running batches of image prompts in your own Chrome and saving the results on your PC.

## Get started

1. Extract the entire download ZIP to a folder you want to keep. Do not run it inside the ZIP, and keep the `_internal` folder beside the EXE.
2. Open `PFlix Prompter Public.exe`. You do not need Python.
3. Install Google Chrome if needed, and sign in to your own ChatGPT account in Chrome. Your account must have image generation available; its limits still apply.
4. Click **Set up the Chrome helper** in the app. Open `chrome://extensions` in Chrome, enable **Developer mode**, click **Load unpacked**, and select the path shown by the app:
   `%LOCALAPPDATA%\PFlixPrompterPublic\chrome-helper`
   Use **Copy path** in the setup window to copy your own full path.
5. Wait for **Chrome helper: linked**. If needed, click the helper's icon in Chrome's toolbar.
6. Paste your prompts, enter a batch name, choose an output folder with **Browse...**, and click **Start**.

You can watch the preview before starting. Numbered lists, bullets, paragraphs, and one prompt per line are supported. Images save to your Windows Pictures folder under **PFlix Prompter Public** unless you choose another location.

## Using the app

- **Pause** finishes the current prompt and holds the queue.
- **Stop** ends the run. Reuse the same batch name to finish it later or append prompts.
- **Retry failed** retries Failed rows. Reword prompts with a No image result before adding them again.
- **Open folder** shows the images and `prompts.csv`.
- **ChatGPT > Check ChatGPT page** checks the connection without sending a prompt.
- **Settings** controls the delay between prompts and the per-prompt timeout.

Leave Chrome and the app open while a batch runs. Complete login, verification, or account prompts yourself when the app pauses. The app waits when it recognizes an image limit. ChatGPT website changes can require an app update.

## Your account and data

This download includes no creator login, browser profile, saved settings, prompt history, generated images, or account credentials. Each person uses their own Chrome session. No API key is required by this edition.

Prompts are sent to ChatGPT in your Chrome. Images, prompt queues, and settings are kept on your PC. Diagnostic logs and saved page snapshots can include prompt text or page content; review them before sharing them with anyone. This app has no added telemetry or automatic upload to its creator.

This app automates the ChatGPT website. Review the current terms and rules for your account before using it. Account permissions, usage limits, and image generation access are controlled by the service; this download does not include a ChatGPT subscription or guarantee access.

## Storage and isolation

- Settings: `%APPDATA%\PFlixPrompterPublic\settings.json`
- Chrome helper: `%LOCALAPPDATA%\PFlixPrompterPublic\chrome-helper`
- Logs: `%LOCALAPPDATA%\PFlixPrompterPublic\logs`
- Default images: your Windows Pictures folder, under `PFlix Prompter Public`
- Local helper connection: `127.0.0.1:47816`

This edition has its own settings, instance lock, output default, Chrome extension identity, and connection port. It does not migrate or overwrite settings or helpers from the original personal edition. Only one instance of this public edition can run at once. If both editions are installed, use the matching helper for each app.

If the helper is disconnected, open Chrome and check that the **PFlix Prompter Public Helper** extension is enabled. After an update, reload its extension card if the app asks you to.

## Optional desktop shortcut

Move the extracted folder to its permanent location first. Run `Make desktop shortcut.ps1` with PowerShell to add a **PFlix Prompter Public** shortcut. It points to the EXE beside that script.

## Removing the app

Close the app, remove its public helper from Chrome, and delete the extracted folder and shortcut. If desired, delete the two `PFlixPrompterPublic` data folders listed above. Your saved images are separate and remain in the folder you chose.

## Building from source

The source package contains app code, assets, tests, and build tools. It intentionally excludes the original Git history, internal planning documents, logs, profiles, and personal settings.

With Python 3.13 installed:

```
python -m pip install -r requirements.txt
python -m pytest
python -m PyInstaller packaging/pflix-prompter.spec --noconfirm
```

To create both download ZIPs, run `python packaging/make-release.py --output PATH_TO_RELEASE_FOLDER`.

The complete `dist/PFlix Prompter Public` folder is the Windows app. Copy this README there as `START HERE.txt`. The `extension` folder is bundled by the build; users load the copy the app creates in their Local AppData folder. Playwright is used only by tests, not by the shipped app.

This initial build is unsigned. A public hosting location and code signing are separate release steps.
